#ifndef __ORBITMANAGER_H__
#define __ORBITMANAGER_H__


#include "../Global.h"
#include "OrbitSystem.h"
#include "OrbitDefine.h"

class OrbitManager : public CCNode , public MemoryManagerDelegate , public NotificationDelegate
{
public:
	OrbitManager( );
	virtual ~OrbitManager( );

	static OrbitManager*	sharedOrbitManager( );
	// 150 - 210 - 270 : 960x640
	void					initWithNumOrbitSystem	( int num , int numShow = 3 , const std::vector<float>* listRadius = new std::vector<float>() );
	void					addOrbitSystem			( OrbitSystem* pOrbit );
	void					removeOrbitSystem		( OrbitSystem* pOrbit );
	/*void					removeOrbitSystemAtIdx	( int idx );*/
	OrbitSystem*			getActiveOrbit			( );
	OrbitSystem*			getUnActiveOrbit		( );

	void					runShowOrbitAnimation	( int startIdx  );


	virtual void			onHandlerMessage	( NotificationData* data , int messageID  , int messageSubId = 0 );

private:
	CCArray*			m_pListOrbit;
	float*				m_fOrbitRadius;
	int					m_iNumShow;
};




#endif